//
//  ViewController.m
//  08_UITableView
//
//  Created by dllo on 16/7/25.
//  Copyright © 2016年 yh. All rights reserved.
//

#import "ViewController.h"
#import "UIView+Frame.h"
#define kTableViewReuse @"reuseIdentifier" // 将重用标识定义为宏

@interface ViewController () <UITableViewDataSource, UITableViewDelegate>
@property (nonatomic, assign) NSInteger count;

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    self.navigationController.navigationBarHidden = YES;
    // 1. UITableView 创建
    UITableView *tableView = [[UITableView alloc] initWithFrame:self.view.bounds style:UITableViewStylePlain];
    
    self.count = 0;
    // UITableView *tableView = [[UITableView alloc] initWithFrame:self.view.bounds style:UITableViewStyleGrouped]; // 可以去掉tableView多余的线
    // tableView.alwaysBounceVertical = NO; // tableView 默认为yes 创建好就可以滑动
    [self.view addSubview:tableView];
    
    // 2. 相关属性
    // 行高 44
    tableView.rowHeight = 100;
    // 预估行高度
//     tableView.estimatedRowHeight = 200;
    // 分割线颜色
    tableView.separatorColor = [UIColor redColor];
    // 分割线style UITableViewCellSeparatorStyleNone 隐藏 UITableViewCellSeparatorStyleSingleLine 默认
    tableView.separatorStyle = UITableViewCellSeparatorStyleSingleLine;
#if 0
    // tableView 的头视图 headerView的 坐标x y 值一般都设置为(0, 0) headerView一般用来放置轮播图
    UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, 200)];
    headerView.backgroundColor = [UIColor redColor];
        // 如果tableHeaderView要进行修改 就要加 [tableView beginUpdates] 和 [tableView endUpdates];
    [tableView beginUpdates]; // 开始更新
    tableView.tableHeaderView = headerView;
    [tableView endUpdates]; // 结束更新
    tableView.tableHeaderView.yh_height = 400;
    // tableView的脚视图footView
    UIView *footView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.view.yh_width, 400)];
    footView.backgroundColor = [UIColor cyanColor];
    [tableView beginUpdates];
    tableView.tableFooterView = footView;
    [tableView endUpdates];
#endif
    // 3. tableView数据的展示
    tableView.delegate = self;
    tableView.dataSource = self;
    // 当tableview的cell未能充满一页时 通过下面的方法可以去掉tableView多余的线(有两种方法)
    tableView.tableFooterView = [[UIView alloc] init];
    
    // 注册cell
    [tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:kTableViewReuse];
    
}

// 返回行数
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return 17;
}

// 返回cell的样式
// cell 的创建方式
// 1. 直接创建
// 2. 在重用池中取 (可以修改cellStyle)
// 3. 通过注册的方式 [tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:kTableViewReuse]; (不可以修改cellStyle)
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    // 从重用池中取出对应标识的cell
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:kTableViewReuse];
//    // 如果 从重用池取出的cell为空就创建新cell
//    if (cell == nil) {
//        self.count++;
//        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:kTableViewReuse];
//        NSLog(@"创建 %ld", self.count);
//    } else {
//        NSLog(@"重用 %ld", self.count);
//    }
    // 主标题
    cell.textLabel.text  = @"联系人";
    // 副标题 cellStyle 为UITableViewCellStyleDefault 时是没有副标题的
    // value1 左边主标题 右边副标题
    // value2 标题字号变小 都在左侧 蓝色主标题 黑色副标题
    // sub 标题都在左侧 主标题在上 大 副标题在下
    cell.detailTextLabel.text = @"电话";
    // cell 的图片
    cell.imageView.image = [UIImage imageNamed:@"u=1510196333,2839433498&fm=23&gp=0.jpg"];
    return cell;
}





- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end
